package modelo;
/**
 * 
 * @author douglas_joaquim
 *
 *Classe modelo de Estadio
 */
public class Estadio {
	protected int idEstadio;
	protected String nome;
	protected Localizacao localizacao;
	protected int cadeirasCamarotes;
	protected int cadeiraGeral;
	
	/**
	 * 
	 * @return acessa e retorna Estadio
	 */
	public int getIdEstadio() {
		return idEstadio;
	}
	/**
	 * 
	 * @param idEstadio altera idEstadio
	 */
	public void setIdEstadio(int idEstadio) {
		this.idEstadio = idEstadio;
	}
	/**
	 * 
	 * @return acessa e retorna Nome
	 */
	public String getNome() {
		return nome;
	}
	/**
	 * 
	 * @param nome altera Nome
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}
	/**
	 * 
	 * @return acessa e retorna Localiza@@@@@@o
	 */
	public Localizacao getLocalizacao() {
		return localizacao;
	}
	/**
	 * 
	 * @param localizacao altera localiza@@@@@@o
	 */
	public void setLocalizacao(Localizacao localizacao) {
		this.localizacao = localizacao;
	}
	/**
	 * 
	 * @return acessa e retorna numero de Cadeiras Camarote
	 */
	public int getCadeirasCamarotes() {
		return cadeirasCamarotes;
	}
/**
 * 
 * @param cadeirasCamarotes altera numero de CadeiraCamarote
 */
	public void setCadeirasCamarotes(int cadeirasCamarotes) {
		this.cadeirasCamarotes = cadeirasCamarotes;
	}
	/**
	 * 
	 * @return acessa e retorna numero de CadeiraGeral
	 */
	public int getCadeiraGeral() {
		return cadeiraGeral;
	}
	/**
	 * 
	 * @param cadeiraGeral altera numero de CadeiraGeral
	 */
	public void setCadeiraGeral(int cadeiraGeral) {
		this.cadeiraGeral = cadeiraGeral;
	}
	
	/**
	 * Construtor com os paramentros
	 * 
	 * @param idEstadio Identificador unico de Estadio
	 * @param nome Nomen do Estadio
	 * @param localizacao endere@@@o do Estadio
	 * @param cadeirasCamarotes numenro de cadeiras no camarote do Estadio
	 * @param cadeiraGera numero de cadeiras na geral do Estadio
	 */
	public Estadio(int idEstadio, String nome, Localizacao localizacao, int cadeirasCamarotes,
			int cadeiraGera) {
		super();
		this.idEstadio= idEstadio;
		this.nome = nome;
		this.localizacao = localizacao;
		this.cadeirasCamarotes = cadeirasCamarotes;
		this.cadeiraGeral = cadeiraGeral;
	}
	/**
	 * Construtor vasil
	 */
	public Estadio() {
		super();
	}
	
	/**
	 * Metodo que imprime no cbbEstadio Nome e Localiza@@@@@@o
	 */
	@Override
	public String toString() {
		return  nome + localizacao ;
	}
        
        /**
         * Eles fazem a compara@@@@o dos obejetos que vem pelo combobox
         */
        /**
         * 
         * @return Retorna o resultado
         */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + cadeiraGeral;
		result = prime * result + cadeirasCamarotes;
		result = prime * result + idEstadio;
		result = prime * result
				+ ((localizacao == null) ? 0 : localizacao.hashCode());
		result = prime * result + ((nome == null) ? 0 : nome.hashCode());
		return result;
	}
        /**
         * 
         * @param obj Objeto da classe Estadio
         * @return Retorna o objeto Verdadeiro ou falso
         */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Estadio other = (Estadio) obj;
		if (cadeiraGeral != other.cadeiraGeral)
			return false;
		if (cadeirasCamarotes != other.cadeirasCamarotes)
			return false;
		if (idEstadio != other.idEstadio)
			return false;
		if (localizacao == null) {
			if (other.localizacao != null)
				return false;
		} else if (!localizacao.equals(other.localizacao))
			return false;
		if (nome == null) {
			if (other.nome != null)
				return false;
		} else if (!nome.equals(other.nome))
			return false;
		return true;
	}
	
	
	
	

}
